summaryrefslogtreecommitdiff
path: root/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantManager.h
diff options
context:
space:
mode:
authormsmit <msmit@remedy.nl>2011-12-12 15:39:58 +0000
committermsmit <msmit@remedy.nl>2011-12-12 15:39:58 +0000
commit2c83c611209391e54c013d7eb6e3af1c8bddc3d7 (patch)
treecf692e539d63488a9c17c6fc51bfceab01b9a91b /CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantManager.h
parent23f3a26eb5011eb3f049a4b5028cf25c851ccf88 (diff)
downloadATCD-2c83c611209391e54c013d7eb6e3af1c8bddc3d7.tar.gz
Mon Dec 12 15:37:43 UTC 2011 Marcel Smit <msmit@remedy.nl>
* connectors/dds4ccm/impl/ndds/DomainParticipantFactory.cpp: * connectors/dds4ccm/impl/ndds/DomainParticipantManager.h: * connectors/dds4ccm/impl/ndds/DomainParticipantManager.cpp: Domain partipants should be created per domain ID and QOS profile. * bin/ciao_tests.lst: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Base: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Base/Base.idl: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Base/Base.mpc: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Component: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Component/Component.idl: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Component/Component.mpc: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Component/Component_exec.h: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Component/Component_exec.cpp: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Connector1: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Connector1/Connector1.idl: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Connector1/Connector1.mpc: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Connector2: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Connector2/Connector2.idl: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Connector2/Connector2.mpc: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Connector3: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Connector3/Connector3.idl: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/Connector3/Connector3.mpc: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/descriptors: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/descriptors/Plan.cdp: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/descriptors/USER_QOS_PROFILES.xml: * connectors/dds4ccm/tests/SharedDomainParticipant/DifferentDomainID/descriptors/run_test.pl: Added test to verify this.
Diffstat (limited to 'CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantManager.h')
-rw-r--r--CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantManager.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantManager.h b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantManager.h
index 495f4e162f2..5d32d11f561 100644
--- a/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantManager.h
+++ b/CIAO/connectors/dds4ccm/impl/ndds/DomainParticipantManager.h
@@ -61,27 +61,36 @@ namespace CIAO
/// Destructor
~DomainParticipantManager (void);
- bool add_topic (DDSDomainParticipant *dp, DDSTopic * tp);
+ bool add_topic (DDSDomainParticipant *dp,
+ DDSTopic * tp);
- bool remove_topic (DDSDomainParticipant * dp, DDSTopic *tp);
+ bool remove_topic (DDSDomainParticipant * dp,
+ DDSTopic *tp);
- DDSDomainParticipant * get_participant (const char * qos_profile);
+ DDSDomainParticipant * get_participant (const DDS_DomainId_t domain_id,
+ const char * qos_profile);
bool
- add_participant (const char * qos_profile, DDSDomainParticipant * dp);
+ add_participant (const char * qos_profile,
+ DDSDomainParticipant * dp);
bool remove_participant (DDSDomainParticipant * dp);
- void _inc_ref (DDSDomainParticipant * dp, DDSTopic * tp);
+ void _inc_ref (DDSDomainParticipant * dp,
+ DDSTopic * tp);
private:
TAO_SYNCH_MUTEX dps_mutex_;
typedef std::map <ACE_CString, DDSParticipantTopic *> DomainParticipants;
+
+ typedef std::map < DDS_DomainId_t, DomainParticipants > DomainParticipantIDs;
+ DomainParticipantIDs dps_;
+
typedef DomainParticipants::iterator DomainParticipants_iterator;
- DomainParticipants dps_;
DomainParticipants_iterator
- get_participanttopic_by_participant (DDSDomainParticipant * dp);
+ get_participanttopic_by_participant (const DomainParticipantIDs::iterator it,
+ DDSDomainParticipant * dp);
};
typedef ACE_Singleton<DomainParticipantManager,