Как мне объявить Java HashMap в моем .idl файле при использовании Corba? - PullRequest
1 голос
/ 17 октября 2019

Мне нужен мой idl для компиляции чего-то подобного. Застрял в течение нескольких часов, пытаясь кучу вещей.

module SomeApp
{
    interface Something
    {
        HashMap myMethod();
    };
};

Я пытался

struct KeyVal {
    string key;
    string value;
};
typedef HashMap<string,string> hash;    

Но тогда ни один из моих Java-код не будет работать с использованием KeyVal []

1 Ответ

1 голос
/ 21 октября 2019

С CORBA вы должны определить свои интерфейсы и типы в соответствии со спецификацией IDL . IDL не имеет типа HashMap, вы можете использовать sequence, см. Ниже пример IDL, который работает.

module SomeApp
{
  struct KeyVal {
    string key;
    string value;
  };
  typedef sequence<KeyVal> KeyValSeq; 

  interface Something
  {
    KeyValSeq myMethod();
  };
};
...