dds-builtin_types.idl 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. module DDS {
  2. @extensibility(APPENDABLE)
  3. struct _String {
  4. string value;
  5. };
  6. interface StringDataWriter : DataWriter {
  7. /* This interface shall instantiate the type FooDataWriter defined by
  8. * the DDS specification where "Foo" is an unbounded string.
  9. */
  10. };
  11. interface StringDataReader : DataReader {
  12. /* This interface shall instantiate the type FooDataReader defined by
  13. * the DDS specification where "Foo" is an unbounded string.
  14. */
  15. };
  16. interface StringTypeSupport : TypeSupport {
  17. /* This interface shall instantiate the type FooTypeSupport
  18. * defined by the DDS specification where "Foo" is an unbounded
  19. * string.
  20. */
  21. };
  22. @extensibility(APPENDABLE)
  23. struct KeyedString {
  24. @key string key;
  25. string value;
  26. };
  27. typedef sequence<KeyedString> KeyedStringSeq;
  28. interface KeyedStringDataWriter : DataWriter {
  29. /* This interface shall instantiate the type FooDataWriter defined by
  30. * the DDS specification where "Foo" is KeyedString. It also defines
  31. * the operations below.
  32. */
  33. InstanceHandle_t register_instance_w_key( in string key);
  34. InstanceHandle_t register_instance_w_key_w_timestamp( in string key, in Time_t source_timestamp);
  35. ReturnCode_t unregister_instance_w_key( in string key);
  36. ReturnCode_t unregister_instance_w_key_w_timestamp( in string key, in Time_t source_timestamp);
  37. ReturnCode_t write_string_w_key( in string key, in string str, in InstanceHandle_t handle);
  38. ReturnCode_t write_string_w_key_w_timestamp( in string key, in string str, in InstanceHandle_t handle, in Time_t source_timestamp);
  39. ReturnCode_t dispose_w_key( in string key);
  40. ReturnCode_t dispose_w_key_w_timestamp( in string key, in Time_t source_timestamp);
  41. ReturnCode_t get_key_value_w_key( inout string key, in InstanceHandle_t handle);
  42. InstanceHandle_t lookup_instance_w_key( in string key);
  43. };
  44. interface KeyedStringDataReader : DataReader {
  45. /* This interface shall instantiate the type FooDataReader defined by
  46. * the DDS specification where "Foo" is KeyedString.
  47. */
  48. };
  49. interface KeyedStringTypeSupport : TypeSupport {
  50. /* This interface shall instantiate the type FooTypeSupport
  51. * defined by the DDS specification where "Foo" is KeyedString.
  52. */
  53. };
  54. @extensibility(APPENDABLE)
  55. struct Bytes {
  56. ByteSeq value;
  57. };
  58. typedef sequence<Bytes> BytesSeq;
  59. interface BytesDataWriter : DataWriter {
  60. /* This interface shall instantiate the type FooDataWriter defined by
  61. * the DDS specification where "Foo" is an unbounded sequence of
  62. * bytes (octets). It also defines the operations below.
  63. */
  64. ReturnCode_t write_w_bytes( in ByteArray bytes, in long offset, in long length, in InstanceHandle_t handle);
  65. ReturnCode_t write_w_bytes_w_timestamp( in ByteArray bytes, in long offset, in long length, in InstanceHandle_t handle, in Time_t source_timestamp);
  66. };
  67. interface BytesDataReader : DataReader {
  68. /* This interface shall instantiate the type FooDataReader defined by
  69. * the DDS specification where "Foo" is Bytes.
  70. */
  71. };
  72. interface BytesTypeSupport : TypeSupport {
  73. /* This interface shall instantiate the type FooTypeSupport
  74. * defined by the DDS specification where "Foo" is Bytes.
  75. */
  76. };
  77. @extensibility(APPENDABLE)
  78. struct KeyedBytes {
  79. @key string key;
  80. ByteSeq value;
  81. };
  82. typedef sequence<KeyedBytes> KeyedBytesSeq;
  83. interface KeyedBytesDataWriter : DataWriter {
  84. /* This interface shall instantiate the type FooDataWriter defined by
  85. * the DDS specification where "Foo" is KeyedBytes.
  86. * It also defines the operations below.
  87. */
  88. InstanceHandle_t register_instance_w_key( in string key);
  89. InstanceHandle_t register_instance_w_key_w_timestamp( in string key, in Time_t source_timestamp);
  90. ReturnCode_t unregister_instance_w_key( in string key);
  91. ReturnCode_t unregister_instance_w_key_w_timestamp( in string key, in Time_t source_timestamp);
  92. ReturnCode_t write_bytes_w_key( in string key, in ByteArray bytes, in long offset, in long length, in InstanceHandle_t handle);
  93. ReturnCode_t write_bytes_w_key_w_timestamp( in string key, in ByteArray bytes, in long offset, in long length, in InstanceHandle_t handle, in Time_t source_timestamp);
  94. ReturnCode_t dispose_w_key( in string key);
  95. ReturnCode_t dispose_w_key_w_timestamp( in string key, in Time_t source_timestamp);
  96. ReturnCode_t get_key_value_w_key( inout string key, in InstanceHandle_t handle);
  97. InstanceHandle_t lookup_instance_w_key( in string key);
  98. };
  99. interface KeyedBytesDataReader : DataReader {
  100. /* This interface shall instantiate the type FooDataReader defined by
  101. * the DDS specification where "Foo" is KeyedBytes.
  102. */
  103. };
  104. interface KeyedBytesTypeSupport : TypeSupport {
  105. /* This interface shall instantiate the type FooTypeSupport
  106. * defined by the DDS specification where "Foo" is KeyedBytes.
  107. */
  108. };
  109. }; // end module DDS