Pepper C API для браузеров Chrome определяется здесь:
https://developer.chrome.com/native-client/c-api
Я пытаюсь создать и открыть файловую систему через C API для использования в приложении Chrome, которое использует технологию PNaCl.
Вот сокращенная версия переменных:
static PP_Instance pp_instance;
static PPB_Instance * ppb_instance;
Вот ссылка на Pepper FileSystem:
https://developer.chrome.com/native-client/pepper_stable/c/struct_p_p_b___file_system__1__0
Я попытался следующие примеры кода для инициализации файловой системы, но все они дают ошибки компилятора.
PPB_FileSystem pepper_file_system;
Компиляция этого кода через Clang ++ …
pepper_file_system = PPB_FileSystem::Create (pp_instance, PP_FILESYSTEMTYPE_LOCALPERSISTENT);
дает этот вывод:
invalid use of non-static data member 'Create'
pepper_file_system = PPB_FileSystem::Create (pp_instance, PP_FILESYSTE...
Вторая попытка, компилируя этот код …
pepper_file_system = PPB_FileSystem->Create (pp_instance, PP_FILESYSTEMTYPE_LOCALPERSISTENT);
дает этот вывод:
error: unexpected type name 'PPB_FileSystem': expected expression
pepper_file_system = PPB_FileSystem->Create (pp_instance, PP_FILESYSTE...
Третья попытка, компиляция этого кода …
pepper_file_system = ppb_instance->Create (pp_instance, PP_FILESYSTEMTYPE_LOCALPERSISTENT);
дает этот вывод:
error: no member named 'Create' in 'PPB_Instance_1_0'
pepper_file_system = ppb_instance->Create (pp_instance, PP_FILESYSTEMT...
Я понимаю, что это должен быть вопрос начинающего пользователя, очевидно, что решение должно быть очень простым, просто я смотрел на это в течение нескольких часов и гуглил пример кода для создания файловой системы через Pepper C API, а не нахождения это (есть пример кода для C ++ API). Спасибо за любую помощь, которая решает эту загадку … 🙂
Что-то вроде:
PPB_FileSystem * ppb_file_system = new PPB_FileSystem;
PP_Resource pp_file_system = ppb_file_system->Create (pp_instance, PP_FILESYSTEMTYPE_LOCALPERSISTENT);
должно сработать
Других решений пока нет …