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

Mozilla Россия — свежие версии программ Mozilla, а также масса полезной информации по каждому продукту.

№116-01-2009 17:00:38

alex171069
Участник
 
Группа: Members
Зарегистрирован: 16-01-2009
Сообщений: 26
UA: Firefox 3.0

как с меньшими затратами прикрутить С++ прогу к XPCOM

Господа я не месный так что сильно ногами не пинайте .
Суть дела у меня такова, написал я как то прогу не очень сложную но и не очень простую а так себе нормальную.
И захотел эту прогу начальник прикрутить к JavaScript-у своей страницы чтобы вызывалаь она им.
А прога на С++ и состоит она из нескольких .h и .cpp файлов .
Я сразу почувствовал запах XPCOM-а !
Но как заглянул в исходники ......XPCOM так мне дурно стало!!!
МОЖЕТ кто подскажет как с меньшими затратами прикрутить С++ прогу к XPCOM ?
  И главное как можно быстрее а то начальник не образованный ему что XPCOM что утюг все одно.

Отсутствует

 

№216-01-2009 19:06:19

Crazy-EyE
Участник
 
Группа: Members
Зарегистрирован: 20-06-2008
Сообщений: 81
UA: Firefox 3.0

Re: как с меньшими затратами прикрутить С++ прогу к XPCOM

Можно без XPCOM, но все равно придется написать расширение (extension): Running applications Т.е можно просто запускать скомпилированную прогу и ждать от нее результатов например в файле. Как раз недавно пост был об этом, правда там про линукс.

Проблема в том, что если страничка лежит в интернете, для того чтоб все работало, понадобится, чтобы у пользователя в его [firefox] стояло это расширение. И еще понадобится Interaction between privileged and non-privileged pages

Вообщем, вопрос в том, где находится эта веб-страница.

Отсутствует

 

№316-01-2009 19:49:42

alex171069
Участник
 
Группа: Members
Зарегистрирован: 16-01-2009
Сообщений: 26
UA: Foxware 0.0

Re: как с меньшими затратами прикрутить С++ прогу к XPCOM

Господа речь идет как раз про LINUX и как я понял из доки по XPCOM самое неприятное и сложное при создании XPCOM компонента это уникальный UID который потом используется в .idl для регистрации компонента в системе.
прога лежит конечно же в инете а JavaScript удаленно в сети .
Я просто никак представить не могу как максимально просто и быстро реализовать XPCOM и включить в него свою прогу.

Отсутствует

 

№416-01-2009 20:15:58

Crazy-EyE
Участник
 
Группа: Members
Зарегистрирован: 20-06-2008
Сообщений: 81
UA: Firefox 3.0

Re: как с меньшими затратами прикрутить С++ прогу к XPCOM

самое неприятное и сложное при создании XPCOM компонента это уникальный UID

самое неприятное и сложное - скомпилировать компонент в первый раз.

Я просто никак представить не могу как максимально просто и быстро реализовать XPCOM и включить в него свою прогу.

Прочти первые две ссылки. Может быть, С++ вообще не понадобится.

прога лежит конечно же в инете а JavaScript удаленно в сети

Еще раз: основная проблема - это система безопасности в Firefox. Он просто так не даст веб-странице запускать какую-нибудь программу откуда бы то ни было. Ни исполняемый бинарник, ни какой-либо XPCOM-компонент нельзя "прикрутить" непосредственно к веб-странице. Надо делать расширение, которое пользователь будет сам устанавливать в свой Firefox, и только с ним веб-страница будет работать (если конечно сделать все как надо).

P.S. Прочитай пожалуйста мой предыдущий пост внимательно и не торопясь и хотя бы просморти ссылки. К сожалению, быстро тут в любом случае не получится.

Отсутствует

 

№516-01-2009 20:26:55

alex171069
Участник
 
Группа: Members
Зарегистрирован: 16-01-2009
Сообщений: 26
UA: Foxware 0.0

Re: как с меньшими затратами прикрутить С++ прогу к XPCOM

Я сильно извиняюсь за то что ввел вас в заблуждение конечно же пользователь будет использовать прогу локально на своем Firefox-е но суть от этого не меняется JavaScript передает проге некий поток char -ов скажем и  поток обработав, прога отдает результат в FireFox обратно.
  Задача состоит в том что прога стоит в сети(локальной) и начальник или другой ЮЗВЕРЬ может нажав на ссылке с помощью JavaScripta запустить прогу передав ей как входные данные поток .

Отсутствует

 

№616-01-2009 23:37:38

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: как с меньшими затратами прикрутить С++ прогу к XPCOM

alex171069 пишет

Я сильно извиняюсь за то что ввел вас в заблуждение конечно же пользователь будет использовать прогу локально на своем Firefox-е но суть от этого не меняется JavaScript передает проге некий поток char -ов скажем и  поток обработав, прога отдает результат в FireFox обратно.

Если это консольное приложение, надо просто написать расширение, которое будет вызывать это приложение.
А про вызов методов расширения из скрипта страницы недавно тема была.

alex171069 пишет

Задача состоит в том что прога стоит в сети(локальной) и начальник или другой ЮЗВЕРЬ может нажав на ссылке с помощью JavaScripta запустить прогу передав ей как входные данные поток .

Но вообще конечно правильнее сделать сервак и на нем запускать это приложение, а из скрипта страницы к нему обращаться.


---  ---

Отсутствует

 

№717-01-2009 10:32:17

alex171069
Участник
 
Группа: Members
Зарегистрирован: 16-01-2009
Сообщений: 26
UA: Foxware 0.0

Re: как с меньшими затратами прикрутить С++ прогу к XPCOM

А если сервака нет и развернуть его нет возможности .
То как обращаться к приложению ?
Притом это приложение не консольное - это .so  т.е. библиотека .
Я почему про XPCOM и заговорил ,  только с помощью него можно подцепиться по типу COM объекта как в WINDOWS-e
Вот я и спрашиваю может уже есть подобный XPCOM компонент скомпилированный к нему в интерфейс тока прописать мой функционал который будет вызываться JavaScript-ом ?
Но тогда как сделать UIN для этого интерфейса и как его зарегистрировать в системе?

Отсутствует

 

№817-01-2009 14:05:06

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: как с меньшими затратами прикрутить С++ прогу к XPCOM

alex171069 пишет

Притом это приложение не консольное - это .so  т.е. библиотека .

Ну если из консоли/wsh-скрипта подцепить никак нельзя, тогда только XPCOM.
Ну или можно попробовать поразбираться с проектами, которые нацелены на прикручивание COM-а к Лису.

alex171069 пишет

Но тогда как сделать UIN для этого интерфейса и как его зарегистрировать в системе?

Если имеется в виду GUID - он делается сторонними средствами (например МС студия умеет делать, а вообще это всё ищется).


---  ---

Отсутствует

 

№917-01-2009 21:08:41

Crazy-EyE
Участник
 
Группа: Members
Зарегистрирован: 20-06-2008
Сообщений: 81
UA: Firefox 3.0

Re: как с меньшими затратами прикрутить С++ прогу к XPCOM

А если сервака нет и развернуть его нет возможности .

А сама страница где тогда хостится? Или она по протоколу file:/// загружается? Просто сервер - действительно самое простое и удобное решение.

Ну если из консоли/wsh-скрипта подцепить никак нельзя, тогда только XPCOM.

Если с XPCOM совсем не хочется разбираться, возможно проще написать консольную "обертку", которая будет обрабатывать команды. Но если все-таки решиться писать XPCOM-компонент, надо просто взять какой-нибудь короткий пошаговый туториал и собрать пробный компонент. Дальше проще: немного поменять idl под свою библиотеку и аккуратно реализовать соответствующие функции.

Я когда-то использовал туториал http://www.iosart.com/firefox/xpcom/ но сейчас там нет комментариев, в которых тоже было много полезного.  Здесь есть несколько ссылок на другие.

Generating GUIDs. Регистрировать компонент или через regxpcom (она в Gecko/XULRunner SDK), или, если компонент внутри расширения, он сам зарегистрируется при установке (надо положить его в дирекорию /components и все).

Отсутствует

 

Board footer

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