Синтаксическая ошибка Webidl при создании файла клея - PullRequest
0 голосов
/ 06 июля 2019

Я пытаюсь создать библиотеку c ++ и перенести ее в javascript с помощью emscripten. Я хотел бы получить доступ к функциям c ++ в javascript с помощью webidl.

это мой заголовочный файл

#ifndef DATE_H
#define DATE_H
#include<iostream>
#include <emscripten/bind.h>

#include<ctime>
#include<string.h>
class Date
{
    public: 
            void add(std::string,std::string);
            void subtract(std::string,std::string);
            void equalTo(std::string,std::string);
            void isValidDate(std::string);
            void comparer(std::string,std::string);

            void random(void);
            void random(std::string,int);
            void random(int);
            void random(int, int);
           //and some other functions that i dont want to be accessible
};
#endif

и это мой idl-файл

interface date {
    void date();
    void add(DOMString, DOMString);
    void subtract(DOMString, DOMString);
    void equalTo(DOMString, DOMString);
    void isValidDate(DOMString);
    void comparer(DOMString, DOMString);
    void GetAge(DOMString);
    void random(void);
    void random(DOMString, long);
    void random(long);
    void random(long, long);
}

Что-то не так с моим idl-файлом? Должно ли имя класса быть маленькими буквами или что-то в этом роде? Есть ли какой-то точный тип данных для std :: string в webidl otherчем DOMstring?

Я получаю ошибку

WebIDL.WebIDLError: error: invalid syntax, <unknown> line 6:22
    void add(DOMString, DOMString);
                      ^
...