summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/include/idl_global.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/include/idl_global.h')
-rw-r--r--TAO/TAO_IDL/include/idl_global.h24
1 files changed, 20 insertions, 4 deletions
diff --git a/TAO/TAO_IDL/include/idl_global.h b/TAO/TAO_IDL/include/idl_global.h
index 75f9531c06b..82cc756ff62 100644
--- a/TAO/TAO_IDL/include/idl_global.h
+++ b/TAO/TAO_IDL/include/idl_global.h
@@ -401,7 +401,7 @@ public:
virtual void reset_flag_seen (void);
- // = Methods supporting DDS DCPS data type/key definition (from #pragma)
+ // = Types & methods supporting DDS DCPS data type/key definition (from #pragma)
typedef ACE_Unbounded_Queue<ACE_TString> DCPS_Key_List;
struct DCPS_Data_Type_Info {
UTL_ScopedName *name_;
@@ -416,11 +416,19 @@ public:
ACE_Null_Mutex> DCPS_Type_Info_Map ;
// FE calls when #pragma DCPS_DATA_TYPE is processed
- virtual void add_dcps_data_type(const char* id);
+ virtual void add_dcps_data_type (const char* id);
// FE calls when #pragma DCPS_DATA_KEY is processed
- virtual bool add_dcps_data_key(const char* id, const char* key);
+ virtual bool add_dcps_data_key (const char* id, const char* key);
// returns null if not matching; otherwise pointer to the info
- virtual DCPS_Data_Type_Info* is_dcps_type(UTL_ScopedName* target);
+ virtual DCPS_Data_Type_Info* is_dcps_type (UTL_ScopedName* target);
+ // FE calls when #pragma DCPS_SUPPORT_ZERO_COPY_READ is processed
+ virtual void dcps_support_zero_copy_read (bool value);
+ // BE calls to check the status of zero-copy read support
+ virtual bool dcps_support_zero_copy_read (void) const;
+ // FE calls when #pragma DCPS_GEN_ZERO_COPY_READ is processed
+ virtual void dcps_gen_zero_copy_read (bool value);
+ // BE calls to check the status of zero-copy read support
+ virtual bool dcps_gen_zero_copy_read (void) const;
// = Access methods to deal with other IDL files included in the main
// IDL file. These IDL files are exactly the same strings that are
@@ -696,6 +704,14 @@ private:
DCPS_Type_Info_Map dcps_type_info_map_ ;
// Map of #pragma DCPS_DATA_TYPE and DCPS_DATA_KEY infomation.
+ bool dcps_support_zero_copy_read_;
+ // Are we enabled to support DCPS zero-copy read.
+ // Need this flag to avoid generating wrong code for pre v0.12 DDS
+ // with new TAO_IDL compiler.
+
+ bool dcps_gen_zero_copy_read_;
+ // Are we generating code insupport of DCPS zero-copy read data sequences?
+
ACE_Unbounded_Queue<AST_ValueType *>primary_keys_;
// List of valuetypes used as a primary key.