DataWriterRemote.idl

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
00006  */
00007 
00008 #ifndef OPENDDS_DCPS_DATAWRITER_REMOTE_IDL
00009 #define OPENDDS_DCPS_DATAWRITER_REMOTE_IDL
00010 
00011 #include "dds/DdsDcpsInfoUtils.idl"
00012 #include "dds/DdsDcpsPublication.idl"
00013 
00014 module OpenDDS {
00015   module DCPS {
00016 
00017     // This interface contains OpenDDS-specific operations
00018     // related to a DDS::DataWriter servant.
00019     // It is split out so the DDS::DataWriter interface can be local.
00020     interface DataWriterRemote {
00021 
00022       // will tell transport and call on_publication_matched()
00023       oneway void add_association(
00024         in RepoId yourId,
00025         in ReaderAssociation reader,
00026         in boolean active
00027         );
00028 
00029       // Called by the InfoRepo to the active peer when the passive peer
00030       // has indicated that the connection is made.
00031       oneway void association_complete(in RepoId remote_id);
00032 
00033       // will tell transport that associations are going away
00034       // The notify_lost flag true indicates the remove_association is invoked
00035       // by the InfoRepo after it detected a lost reader. The InfoRepo detects
00036       // the lost reader when the add_association/remove_association invocations
00037       // on the reader object reference fail. The datawriter need notify the
00038       // the DataWriterListener on_subscription_lost.
00039       oneway void remove_associations(
00040         in ReaderIdSeq readers,
00041         in boolean notify_lost
00042         );
00043 
00044       // supporting DataWriterListener::on_offered_incompatible_qos()
00045       // May get called even if add_associations() is not called.
00046       oneway void update_incompatible_qos(
00047         in IncompatibleQosStatus status
00048         );
00049 
00050       // This call is two-way because the InfoRepo will block the reader
00051       // in CFT::set_expression_parameters() until each associated writer
00052       // is notified synchronously by this call.
00053       void update_subscription_params(
00054         in RepoId readerId,
00055         in ::DDS::StringSeq exprParams
00056         );
00057     };
00058   }; // module DDS
00059 }; // module OpenDDS
00060 
00061 #endif

Generated on Fri Feb 12 20:05:20 2016 for OpenDDS by  doxygen 1.4.7