Задача создания проекта на двух языках - как ускорить процесс?

Тема в разделе "WASM.HEAP", создана пользователем osrootd, 25 ноя 2008.

  1. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    Вот щас пишется большой проект. Но меня просят чтоб было написано на Java и C++.

    Дело в том, что классы довольно приличные.

    Вот файл на C++:
    Код (Text):
    1. class UserFile : public CorporateComponent
    2. {
    3. Q_OBJECT
    4.  
    5. private:
    6. QVector<SystemUser> * THEY_CAN_READ;
    7. QVector<SystemUser> * THEY_CAN_WRITE;
    8. QString * FileName;
    9. QString * FileDescription;
    10. SystemUser * FileOwner;
    11. Division * Dislocation;
    12.  
    13.  
    14.  
    15. public:
    16.  
    17.     UserFile (
    18.         QObject *parent=0,
    19.         const char *name = 0
    20.           );
    21.  
    22.     ~UserFile();
    23.  
    24. public slots:
    25.  
    26.     void setUserCanWrite (SystemUser * user);
    27.     void setUserCanRead (SystemUser * user);
    28.    
    29.     void removeReadAbility (SystemUser * user);
    30.     void removeWriteAbility (SystemUser *user);
    31.  
    32.     void setFileName (QString  *__name__);
    33.     QString * getFileName ();
    34.    
    35.     void setFileDescription (QString  *__description__);
    36.     QString * getFileDescription ();
    37.  
    38.     SystemUser * getFileOwner();
    39.    
    40.     void setDislocation (Division * __division__);
    41.     Division * getDislocation ();
    42.  
    43. signals:
    44.  
    45.     void onOwnerChanged();
    46.     void onTryToChangeOwner(SystemUser * __owner__);
    47.    
    48.     void onFileDeleted();
    49.     void onTryToDelete ();
    50.    
    51.     void onFileRenamed();
    52.     void onTryToRename (QString * NewName);
    53.    
    54.     void onFileMoved();
    55.     void onTryToMove(Division * dv, QString * FName);
    56.    
    57.     void onAccessChanged ();
    58.     void onTryToChangeAccess ();
    59.    
    60.  
    61. };
    Это самый маленький класс:)
    Вопрос1: Кто как думает - как лучше на java реализовать сигналы и слоты?
    Вопрос2: Проще ли не описывать тела всех функций, а использовать native-методы, создав библиотеку?
    Вопрос3 - и главное: Как это отлаживать?
     
  2. Johnikum

    Johnikum Member

    Публикаций:
    0
    Регистрация:
    6 июн 2003
    Сообщения:
    97
    раз уж сам класс на QT, то, думаю, надо смотреть в сторону qjambi
     
  3. osrootd

    osrootd New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    1.086
    Johnikum
    Я уже думал про QT Java binding. Но там слоты реализованы коряво. Через события. Сигналу не передашь параметр. Только через глобальные переменные.
    Плюс еще требование - проект на C++ должен иметь очень маленький размер. Мне удалось ужать тестовую прогу с 500кб до 19 кб. Но в таком коде полно низкоуровневых вставок - черт ногу сломит.