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

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

№109-04-2008 20:20:40

Lermontov
Участник
 
Группа: Members
Зарегистрирован: 20-03-2008
Сообщений: 15
UA: Opera 9.2

Исходники XPCOM

скачал исходник firebug, получил из nsIFireBug.idl с помощью xpidl nsIFireBug.h, но че то в этом хедере я не вижу ни одного нормального описания функций, все какие то пустые, так и должно быть, или надо этот хедер как то по другому получать?

Отсутствует

 

№209-04-2008 20:48:57

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

Re: Исходники XPCOM

В *.idl - только объявление интерфейса. Реализация - в отдельном файле. Если реализовано на javascript, значит в *.js, если на C, значит надо компилировать *.h + *.c. Ну и *.xpt, если интерфейс не стандартный.


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

Отсутствует

 

№309-04-2008 20:53:27

Lermontov
Участник
 
Группа: Members
Зарегистрирован: 20-03-2008
Сообщений: 15
UA: Opera 9.2

Re: Исходники XPCOM

Как же ж тогда получить доступ к этому компоненту из C++ приложения, основанное на XULRunner'e?

Отсутствует

 

№409-04-2008 21:12:41

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

Re: Исходники XPCOM

Может быть я конечно и ошибаюсь, но, скорее всего нет - из C кода особого смысла вызывать библиотечный код, написанный на скрипте, нет. Кроме тех случаев, когда C-код реализует исполнение этих самых скриптов. Я думаю, тут два варианта - если этот код должен вызываться и из C и из JavaScript, тогда надо его переписать целиком на C. Если он должен вызываться только из JavaScript, тогда можно оставить как есть. В xulrunner приложения ведь компоненты тоже встраиваются. Скорее всего, часть логики приложения будет на xul/js, может быть, функциональность компоненты будет востребована только этой частью ?


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

Отсутствует

 

№510-04-2008 11:27:49

Lermontov
Участник
 
Группа: Members
Зарегистрирован: 20-03-2008
Сообщений: 15
UA: IE 6.0

Re: Исходники XPCOM

Если компонент написан js/xul, файл.xpi , можно ли как то вручную установить и зарегестрировать этот компонент, чтоб потом я мог к нему обратится через nsComponentManager?

Отсутствует

 

№610-04-2008 14:17:09

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

Re: Исходники XPCOM

Если js+xpt находится в папке components, то он должен зарегистрироваться при запуске приложения, насколько я понимаю. Ну, может быть сначала ещё придётся удалить comreg.dat и/или xpti.dat.


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

Отсутствует

 

№710-04-2008 14:44:24

Lermontov
Участник
 
Группа: Members
Зарегистрирован: 20-03-2008
Сообщений: 15
UA: Opera 9.2

Re: Исходники XPCOM

Спасибо, Anton, действительно зарегистрировалась компонента, в файлах compreg.dat,xpti.dat, она прописалась,теперь буду пробовать получить к ней доступ через менеджер компонентов, если есть наброски по реализации такого, просьба выложить в эту тему.

Отсутствует

 

№810-04-2008 15:32:37

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

Re: Исходники XPCOM

Если доступ к компоненту из js - то Components. classes [contract_id]. createInstance/getService (interface_id)
Если доступ к C компоненту из C кода, то (примерно;предположительно ) надо у менеджера компонентов просить class factory по contract_id к тому, что она вернёт делать QI.
C->js наверное тоже реализуемо как-нибудь, но какие там могут быть технические детали я предположить не могу.


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

Отсутствует

 

Board footer

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