Связывание C ++: Как связать объект C ++ с JS - PullRequest
0 голосов
/ 29 февраля 2012

[Повторная публикация в группах обсуждения Google для пользователей v8].

Привет,

Я новичок в разработке расширений для Chrome. В настоящее время я работаю над новое расширение, для которого мне нужно знать, как связать объект C ++ с JS.

Я пытаюсь реализовать следующее: Код C ++: Class Foo { public: Foo(); ~Foo(); Baz GetBazOj(); private: Baz baz_; };

Class Baz { 
 public: 
   Baz(); 
   ~Baz(); 
   int MethodBaz(); 
 private: 
   int value_; 
  }; `

В Javascript я хочу создать экземпляр класса c ++ и получить доступ их функции-члены таковы:

var fooObj1 = new Foo(); 
var fooObj2 = new Foo(); 
var baz1 = fooObj1.GetBazObj(); 
var baz2 = fooObj2.GetBazObj(); 
var baz1Value = baz1.MethodBaz(); 
var baz2Value = baz2.MethodBaz();

В исходном коде внутренних расширений Chromium я нашел ссылку на основе CPAPBoundClass на основе NPAPI. Я думал, что функции NPAPI для плагина. Я не уверен, как использовать этот класс для выполнения обязательных привязок c ++. Может ли кто-нибудь предоставить некоторые примеры и некоторую информацию по этому поводу?

Спасибо.

1 Ответ

0 голосов
/ 29 февраля 2012

Вы не можете использовать C ++ в расширении, только в плагине, поэтому, если вы хотите иметь расширение, которое использует код C ++, вы должны упаковать свой код C ++ как плагин, а затем связать этот плагин с вашим расширением. .

Нет разницы между плагином NPAPI, предназначенным для общего использования, и плагином, который включен в плагин, за исключением способа, которым пользователи его устанавливают. Поэтому вам нужно прочитать о том, как установить связь с NPAPI / JS, чтобы создать свой плагин, а затем прочитать документацию по расширению Chromium на упаковке и с помощью плагина NPAPI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...