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       // Called by the InfoRepo to the active peer when the passive peer
00029       // has indicated that the connection is made.
00030       oneway void association_complete(in RepoId remote_id);
00031 
00032       // will tell transport that associations are going away
00033       // The notify_lost flag true indicates the remove_association is invoked
00034       // by the InfoRepo after it detected a lost reader. The InfoRepo detects
00035       // the lost reader when the add_association/remove_association invocations
00036       // on the reader object reference fail. The datawriter need notify the
00037       // the DataWriterListener on_subscription_lost.
00038       oneway void remove_associations(
00039         in ReaderIdSeq readers,
00040         in boolean notify_lost);
00041 
00042       // supporting DataWriterListener::on_offered_incompatible_qos()
00043       // May get called even if add_associations() is not called.
00044       oneway void update_incompatible_qos(
00045         in IncompatibleQosStatus status);
00046 
00047       // This call is two-way because the InfoRepo will block the reader
00048       // in CFT::set_expression_parameters() until each associated writer
00049       // is notified synchronously by this call.
00050       void update_subscription_params(
00051         in RepoId readerId,
00052         in ::DDS::StringSeq exprParams);
00053     };
00054   }; // module DDS
00055 }; // module OpenDDS
00056 
00057 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1