Джинни: могу ли я определить интерфейсы как реализуемые во всех средах?

Рассмотрим документацию Джинни.

Это говорит о том, что:

# This interface will be implemented in C++ and can be called from any language.
my_cpp_interface = interface +c {
    # ...
}

Также сказано, что:

# This interface will be implemented in Java and ObjC and can be called from C++.
my_client_interface = interface +j +o {
    # ...
}

В любом случае, я нахожусь в ситуации, когда у меня есть объект, который может быть определен либо на стороне клиента, либо на стороне C++.
В связи с этим я хотел бы использовать синтаксис, подобный следующему:

my_interface = interface +j +o +c {
    # ...
}

Это правильный синтаксис, что-то, что поддерживает djinni (он работает без ошибок, но я не знаю, является ли сгенерированный код также допустимым) или что-то, что я должен пересмотреть?

1 ответ

Решение

Да, это прекрасно работает и генерирует необходимые прокси и код маршалинга для того интерфейса, который будет реализован на любом языке.

Другие вопросы по тегам